﻿using System.Windows;
using System.Windows.Media;

namespace kostenbuch
{
    /// <summary>
    /// Interaktionslogik für KategorieHinzufügen.xaml
    /// </summary>
    public partial class KategorieHinzufügen : Window
    {
        public KategorieHinzufügen()
        {
            InitializeComponent();
        }
        private void abbrechen_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }
        /**
         *  Fürgt der Kategoriensammlung das eingegebe Wort hinzu.
         * 
         * */
        private void hinzugügen_Click(object sender, RoutedEventArgs e)
        {
            if (tb_K.Text != "")
            {
                kostenbuch.Properties.Settings.Default.Kategorie.Add(tb_K.Text);
                kostenbuch.Properties.Settings.Default.Save();
                MainWindow.unsaved = true;
                this.Close();
            }         
        }
        /**
         * Löscht das in der ComboBox ausgewählte Item aus der Kategoriesammlung
         * Löscht alle Einträge der gelöschten Kategorie
         * */
        private void b_Löschen_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result = MessageBox.Show("Wirklich löschen? Alle zugehörigen Einträge werden mit gelöscht! Dies kann nicht Rückgängig gemacht werden!", "Kategorie löschen?", MessageBoxButton.YesNo, MessageBoxImage.Warning);
            if (result == MessageBoxResult.Yes)
            {
                for (int i = 0; i < TablePage.eintragList.Count; i++)
                {
                    if (TablePage.eintragList[i].kategorie == cBox_Löschen.SelectedItem.ToString())
                    {
                        TablePage.eintragList.RemoveAt(i);
                        i--;  //Eventuell unschön, aber wahrscheinlch nicht Fehleranfällig              
                    }
                }
                kostenbuch.Properties.Settings.Default.Kategorie.Remove(cBox_Löschen.SelectedItem.ToString());
                TablePage.save();
                this.Close();
            }            
        }

        private void tb_K_GotFocus(object sender, RoutedEventArgs e)
        {
            tb_K.Clear();
            tb_K.Foreground = Brushes.Black;
        }
    }
}
